package com.hrzyit.whistle.cases.service

import com.hrzyit.whistle.cases.data.bean.CategoryDetailsEntity
import com.hrzyit.whistle.cases.data.bean.CategoryEntity
import com.hrzyit.whistle.cases.data.bean.SysDictEntity
//import rx.Observable
import io.reactivex.Observable

/**
 * 案件类型业务接口
 * @author YangWei
 * @date 2019/4/1
 */
interface ICaseTypeService {

    /**
     * 获取案件类型列表：问题类型(事件、部件、环境)
     * @author YangWei
     * @date 2019/3/25
     * @param parentId      字典项父id
     * @param id            字典项id
     * @return List<SysDictEntity> 案件类型：问题类型
     */
    fun getCaseQuestionTypeList(parentId: Int,id:Int?): Observable<MutableList<SysDictEntity>>

    /**
     * 获取案件类型列表：大类、小类
     * @author YangWei
     * @date 2019/3/25
     * @param parentId      案件类型父id
     * @param categoryType  案件类型 = 1 大类； = 2 小类
     * @return List<CategoryEntity> 案件类型：大类或小类列表
     */
    fun getCategoryList(parentId: Long,categoryType:Int): Observable<MutableList<CategoryEntity>>

    /**
     * 获取案件立案条件列表
     * @author YangWei
     * @date 2019/4/7
     * @param parentId      案件类型小类id
     * @return List<CategoryDetailsEntity> 案件立案条件列表
     */
    fun getCaseConditionList(parentId: Long): Observable<MutableList<CategoryDetailsEntity>>

}